package com.test.activiti;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;
import org.activiti.engine.task.TaskQuery;

import java.util.List;

/**
 * @ClasName ActivitiTaskQuery
 * @Descripution TODO 查询当前用户的任务列表
 * @Author leikw
 * @Date 2021/9/1 15:25
 * @Version V1.0
 */
public class ActivitiTaskQuery {

    public static void main(String[] args) {
        //1.得到ProcessEngine对象
        ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();
        //2.得到TaskService对象
        TaskService taskService = defaultProcessEngine.getTaskService();

        //3.根据流程定义的key，负责人assignee来实现当前用户的任务列表的查询
        List<Task> taskList = taskService.createTaskQuery()
                .processDefinitionKey("myProcess").taskAssignee("lishi").list();

        //4.任务列表展示
        for (Task task : taskList) {
            System.out.println("---------------------");
            System.out.println("流程实例id："+task.getProcessInstanceId());
            System.out.println("任务id："+task.getId());
            System.out.println("任务负责人："+task.getAssignee());
            System.out.println("任务名称："+task.getName());
        }
    }

}
